const glob = require("glob")
const path = require('path')
const PAGE_PATH = path.resolve(__dirname, 'src/pages')

// 简单学习 glob https://www.cnblogs.com/liulangmao/p/4552339.html
const pages = {}
let entries = glob.sync(PAGE_PATH + '/*/')

entries.forEach((file) => {
  // 取得目录的名称
  let dirKer = file.split('/').reverse()[1]
  if ( dirKer == 'index' ) {
    pages[dirKer] = {
      // 以目录下的 main.js 作为入口js
      entry: `src/pages/${dirKer}/main.js`,
      // 以目录下的 index.html 作为页面模板
      template: `src/pages/${dirKer}/index.html`,
      // 以目录名作为输出页面
      filename: `index.html`
    }
  } else {
    pages[dirKer] = {
      entry: `src/pages/${dirKer}/main.js`,
      template: `src/pages/${dirKer}/index.html`,
      filename: `${dirKer}/index.html`
    }
  }
})

module.exports = {
  pages,
  // 基本路径
  baseUrl: '/',
  // 输出文件目录
  outputDir: 'dist',
  assetsDir: 'assets',
  // eslint-loader 是否在保存的时候检查
  lintOnSave: true,
  chainWebpack: (config) => {
    const env = (process.env.VUE_APP_ENV).toUpperCase()
    console.log(`当前环境: ${env}`)
  },
  // 如果您不需要生产时的源映射，那么将此设置为false可以加速生产构建
  productionSourceMap: true,
  // css相关配置
  css: {
    // 是否使用css分离插件 ExtractTextPlugin
    extract: true,
    // 开启 CSS source maps?
    sourceMap: false,
    // css预设器配置项
    loaderOptions: {}
  },
  parallel: require('os').cpus().length > 1,
  pluginOptions: {},
  devServer: {
    open: false,
    disableHostCheck: true,
    host: '0.0.0.0',
    port: 8000,
    https: false,
    hotOnly: false,
    proxy: null, // string | Object
    before: (app) => {
    }
  }
}
